package tests;

import java.util.Collection;
/**
 *	<p> this is a bridge for the library implemntaion to the tests that where asked to be writen.
 *	this interface requires to implement only the funcions that where tested.
 *</p>
 * <p>
 *	when writing the bridge then one MUST take assumptions on implimitation or make the developer do
 *	some casting in order for the library implemention be tested with this black box.
 *
 *i chose some abstraction of an object to each data type, where the data type contains as little as possible
 *constrains (== fields and constructors) .
 *</p>
 *
 *4 objects are needed
 *
 *Person which represent a polimorphic user
 *Dr which repersent a donators
 *Item which is the abstraction of donated items to the library
 *SerialNumber which is an abstract for the taging for the data strucher that is requested by the user story
 *
 *
 *when coming to implement the bridge one should keep in mind that he should make a new ItemImpl which extends Item
 *where it should proxy the programmer implemitaion for his system Item.
 *same goes for Person SerialNumber and Dr
 *</p>
 * @author nahumba
 *
 */
public interface Bridge {
	//here i should implement the message to pass to the objects
	public SerialNumber addItem(Item input,Person owner) throws Exception;
	public Collection<Person> FindLate(Item byName,Dr byDonator,int byDays ) throws Exception;

}
